Systems and methods for implementing hailing request and shipping request

ABSTRACT

Systems and methods for hailing a vehicle for a ride or shipping a parcel. A user hails a vehicle with a gesture or app. A hailed vehicle carries the user to a destination or picks up a parcel from the user and performs shipping procedures.

CROSS REFERENCE TO RELATED APPLICATION

This is a continuation-in-part of U.S. patent application Ser. No.16/024,840, filed Jun. 30, 2018.

BACKGROUND—FIELD OF INVENTION

This invention relates to hailing a vehicle and shipping a parcel, moreparticularly to hailing a vehicle for a ride, and hailing a vehicle forshipping a parcel.

BACKGROUND—DESCRIPTION OF PRIOR ART

Autonomous vehicle (also known as driverless or self-driving vehicle) isa vehicle capable of sensing and navigating around the vehicle'ssurroundings and travelling autonomously to a destination without userinput. It represents a great advance in the transportation industry.

When autonomous vehicles become widely available, many users may rely onself-driving taxis or self-driving cargo vehicles to go to places andtransport goods. Usually a user places an order online and then waitsfor a service to dispatch a vehicle. Sometimes, there are vehiclesparked beside the curb, sitting at a parking lot, or running on a road.When a user sees a vehicle with a vacant sign, the user may want to hailit directly on site, instead of contacting a remote facility and goingthrough an online ordering or reservation process.

Therefore, there exists a need for a user to hail an autonomous vehicledirectly when the vehicle is in sight.

When a user wants to ship a parcel, the user may go to a store, astation, or a postal office. The user may also schedule a time for adriver to come and pick up a parcel. Going to a place or waiting forparcel pickup often takes time. Thus, there exists a need for a methodto ship a parcel that is simple and saves time. The word “parcel” asused herein may indicate a package (e.g., a box, a bag, or an envelope)that contains one or more products or objects. The box includes a cartonbox, a cardboard box, or a wooden box. The bag includes a paper bag or aplastic bag.

As used herein, the word “vehicle” may indicate any form of motorizedtransportation or a device capable of moving around autonomously.Examples of vehicles may include automobile, drone, flying car,aircraft, ship, robot, and the like. For convenience of description,“Service Center” as used herein may mean a center or remote facility asa business entity or a server which is operated at Service Center.“Check in” as used herein may mean a user logs in a system at a vehicleusing info obtained from a reservation or using other suitable info. Auser may log in a system of a vehicle using a code, a password, a creditcard, or an identification card. A user may also be considered as inlogged-in state after being recognized or identified by a system. Matureidentification mechanisms include, for example, facial recognition andfingerprint recognition. In one scenario, after a check-in process, theidentity of a user may be confirmed. In another scenario, after acheck-in process, the identity of a user may remain unknown.

OBJECTS AND ADVANTAGES

Accordingly, several main objects and advantages of the presentinvention are:

-   -   a). to provide improved systems and methods for hailing a        vehicle for a ride and for shipping a parcel;    -   b). to provide such systems and methods for a user to hail a        vehicle directly when the vehicle is in sight;    -   c). to provide such systems and methods which enable a user to        hail a vehicle with gestures;    -   d). to provide such systems and methods which enable a user to        find vehicles nearby;    -   e). to provide such systems and methods which enable a vehicle        to recognize a user's gesture and drive to the user        autonomously;    -   f). to provide such systems and methods for a user to ship a        parcel using a vehicle hailing app or program;    -   g). to provide such systems and methods for a user to ship a        parcel through a hailed vehicle; and    -   h). to provide such systems and methods which provide devices in        a vehicle to accept a parcel, measure the weight and dimensions        of a parcel, and attach shipping labels to a parcel.

Further objects and advantages will become apparent from a considerationof the drawings and ensuing description.

SUMMARY

In accordance with the present invention, vehicle hailing systems andmethods are provided for picking up a user or receiving a parcel. When auser sees an autonomous vehicle, the user may hail it directly using agesture. On the other hand, when an autonomous vehicle detects that auser is gesturing at it, the vehicle may calculate a route and navigateto the user. In addition, a user may find vehicles nearby via an app andselect a vehicle with gestures. Using gestures to hail a vehicle isnatural, intuitive, and convenient when the vehicle is visible in ashort distance.

Further, a user may hail a vehicle by an app or gestures and then ship aparcel via the hailed vehicle. A parcel may be picked up by the roadsideor received from an occupant inside a vehicle. Devices may be installedat a vehicle. The devices may take and keep a parcel, read messages on aparcel, measure the weight and dimensions of a parcel, and attachshipping labels to a parcel.

DRAWING FIGURES

FIG. 1 -A is an exemplary diagram describing an embodiment involving avehicle, a client system, and a server in accordance with the presentinvention.

FIG. 1 -B is an exemplary diagram which depicts a client system inaccordance with the present invention.

FIG. 1 -C is an exemplary diagram which depicts a user and a vehicle inaccordance with the present invention.

FIGS. 2 -A and 2-B are exemplary diagrams which illustrate a hailingscenario in accordance with the present invention.

FIG. 3 is an exemplary flow diagram depicting a hailing process inaccordance with the present invention.

FIGS. 4 and 5 are exemplary diagrams which illustrate interface settingsfor hailing a vehicle in accordance with the present invention.

FIGS. 6 and 7 are exemplary diagrams which illustrate interface settingsfor finding vehicles in pointing mode in accordance with the presentinvention.

FIGS. 8 and 9 are exemplary flow diagrams depicting hailing processes inaccordance with the present invention.

FIG. 10 is an exemplary flow diagram depicting vehicle activities inaccordance with the present invention.

FIGS. 11 and 12 are exemplary diagrams showing hailing processes inaccordance with the present invention.

FIGS. 13 and 14 are exemplary flow diagrams describing hailing processesin accordance with the present invention.

FIG. 15 is an exemplary diagram which illustrates interface settings forshipping a parcel in accordance with the present invention.

FIGS. 16A and 16 -B are exemplary diagrams illustrating a parcelcompartment of a vehicle in accordance with the present invention.

FIG. 17 is an exemplary diagram which illustrates a vehicle forreceiving, shipping, and delivering parcels in accordance with thepresent invention.

FIG. 18 is an exemplary flow diagram describing a parcel pickup andshipping process in accordance with the present invention.

REFERENCE NUMERALS IN DRAWINGS

10 Processor 12 Computer Readable Medium 14 Communication Network 16Client System 18 Vehicle 20 Processing Module 22 Database 24 Server 26Control System 28 User 30 Vehicle 32 Vehicle 34 Vehicle 36 User 38Smartphone 40 Button 42 Button 44 Button 46 Screen 48 Window 50 Button52 Window 54 Button 56 Route 58 Button 60 Window 62 Window 64 Button 66Button 68 Button 70 Space 72 Checkbox 74 Space 76 Checkbox 78 Button 80Button 82 Button 84 Button 86 Space 88 Compartment Door 90 Tracks 92Parcel Compartment 94 Parcel 96 Weighing Device 97 Vehicle 98 Sign 99Compartment Door 100-184 are exemplary steps.

DETAILED DESCRIPTION

The following exemplary embodiments are provided for complete disclosureof the present invention and to fully inform the scope of the presentinvention to those skilled in the art, and the present invention is notlimited to the schematic embodiments disclosed, but can be implementedin various types.

FIG. 1 -A is an exemplary block diagram of one embodiment according tothe present invention. A vehicle 18 and server 24 are connected via awireless communication network 14. So are a client system 16 and server24. Vehicle 18 is controlled by a control system 26. Server 24 isinstalled and operated at Service Center. Service Center represents aride-hailing business. It administers vehicles including vehicle 18 andprocesses hailing requests from users. The word “server” as used hereinmeans a system or systems which may have similar functions andcapacities as one or more servers. Server 24 may exemplarily be dividedinto two blocks, represented by a processing module 20 and database 22.Processing module 20 may include processing and communication functions.Database 22 may store vehicle service records and information, map dataand geographic info of certain areas, user account information, usertransaction records, etc. The database may include a cluster of memorychips and/or storage modules. In the figure, servers 24 may represent adevice that collects, processes, stores, and maintains information anddocuments, sends instructions to vehicles, transmits messages to users,executes tasks requested by users, etc.

FIG. 1 -B describes client system 16 exemplarily. Client system 16 maycover a range of electronic devices and gadgets, e.g., a smartphone, atablet computer, a smart watch, a virtual reality (VR) device, anaugmented reality (AR) device, and the like. Client system 16 mayinclude a processor 10 and computer readable medium 12. Processor 10 maymean one or more processor chips or systems. Medium 12 may be the mainpart of a storage system and may include a memory hierarchy built by oneor more memory chips or storage components like RAM, ROM, FLASH, orother suitable storage modules. Processor 10 may run programs or sets ofexecutable instructions stored in medium 12 for performing variousfunctions and tasks such as surfing on the Internet, placing purchaseorders, hailing a vehicle, shipping a parcel, sending and receivingemails and short messages, playing video or music, etc. Client system 16may also include input, output, and communication components, which maybe individual modules or integrated with processor 10. The terms“Hailing (hail) a vehicle” and “Hail a car” as used herein may mean aphysical act (e.g., a gesture), a verbal act (e.g., a voice request orcommand), or an online process which is performed by a user for orderinga vehicle for a ride, renting purpose, or parcel shipping, or forreserving a vehicle for present or future use.

In addition, client system 16 may have a display (not shown) and agraphical user interface (GUI). The display may have a liquid crystaldisplay (LCD) screen or light emitting diode (LED) screen and may bearranged sensitive to touches, i.e., sensitive to haptic and/or tactilecontact with a user. As well known in the art, contact detectiontechnologies may include capacitive, resistive, infrared, optical,surface acoustic wave, and proximity sensing methods. A user may use theinterface to interact with client system 16, Service Center or server24, an e-commerce website, other online users, and so on. Via theinterface, for instance, a user may hail a vehicle, ship a parcel, placeonline orders, play a game, communicate with other devices, obtaincertain information, and so on.

Furthermore, client system 16 may have a microphone and voicerecognition mechanism to receive a user's verbal command or voice input.The system may also have a facial recognition mechanism to recognize auser. In addition, the system may have a gesture detection mechanism toreceive a user's gesture instructions. For VR and AR devices and somewearable devices, a virtual screen or a screen with a very small sizemay be arranged. A virtual screen may be part of a displaying systemthat doesn't have a physical screen. Since it is impractical orinconvenient to touch a virtual screen or very small screen, a user mayuse voice instructions and gestures to interact with a system and issuecommands.

FIG. 1 -C shows that a user 28, who is making a hailing gesture, isdetected by vehicle 18 schematically. Vehicle 18 may be a device whichmoves around autonomously. Examples of vehicle 18 include automobile,robot, drone, flying car, ship, or the like. In descriptions below, anautonomous automobile is used as vehicle 18 to explain principles. Thevehicle may have various sensors (not shown) to ascertain the externalenvironment and internal situation. The sensors may include cameras,microphones, a radar system, a light detection and ranging (LIDAR)system, a global position system (GPS), a speed sensor, anaccelerometer, an electronic compass, etc. Control system 26 of vehicle18, like client system 16, may have a computer processor, a storagedevice, a display with a touch sensitive screen, a voice recognitionmechanism, a facial recognition mechanism, and a gesture detectionmechanism. It is noted that voice, facial, and gesture recognitiontechnologies are all mature nowadays. Control system 26 may use thesensors and mechanisms to monitor the environment, detect a user,interact with a user, and receive instructions from a user. Moreover,the control system may calculate a route after receiving a user'shailing request and navigate vehicle 18 to the user along the route. InFIG. 1 -C. control system 26 finds and ascertains user 28 via sensorslike cameras, radar, and/or LIDAR. It analyzes the user's gestures anddetermines that the user is waving at vehicle 18.

When a user needs a vehicle and sees one on a street, it is natural andconvenient to hail the vehicle with a gesture directly. FIGS. 2 -A and2-B use exemplary diagrams to illustrate a hailing process. In FIG. 2-A, there are three vehicles 30, 32, and 34. Vehicles 32 and 34 have nosigns and are running toward opposite directions, while vehicle 30 isparked beside the curb with a vacant sign which indicates it is vacantand available for hailing. A user 36 finds vehicle 30 and starts wavingat it. In FIG. 2 -B, a control system of vehicle 30 detects that user 36is waving. It analyzes the user's gestures via certain algorithm andconcludes that the user is hailing it. Then the control system sends ahailing message to Service Center and asks for approval. Once getting anapproval message from Service Center, the control system calculates aroute 56 and drives vehicle 30 to user 36 along the route.Alternatively, the control system may also navigate vehicle 30 toapproach user 36 without getting approval from Service Centre. It isnoted that the method applies to a vehicle running on a road as well.The control system of vehicle 30 is arranged to provide three optionsfor user 36, i.e., driving user 36 to a destination, receiving a parcelfrom user 36 and transferring the parcel to a shipping station or adesignated vehicle, or driving the user to a destination and receiving aparcel before or during the trip. For example, user 36 may get invehicle 30 and begins a journey to a place. User 36 may also put aparcel inside vehicle 30 and complete a shipping process. Further, user36 may get in vehicle 30 and start a process to ship a parcel during atrip to a destination.

FIG. 3 shows an exemplary flow diagram which illustrates ahailing/shipping process. The process is arranged to assist a user. Avehicle is in standby mode and displays a vacant sign. The vacant signmay have a word like “Vacant” and is arranged to show the vehicle isavailable for hailing. A control system of the vehicle monitors itssurroundings using cameras and other sensors at step 100. The systemfinds that a user is waving at the vehicle at step 102. To determinewhether a user waves at a vehicle, there may be two conditions. First,the user waves his or her hand. In some embodiments, one or more fingersof the waving hand may stick out. Optionally, the user may wave a fist.In some cases, the palm of the waving hand has to face the vehicle.Second, the user faces the vehicle. If the control system detects that auser waves and faces the vehicle, the two conditions of waving aresatisfied at the same time. Then, the system may determine that the userwaves at the vehicle. If the system detects that a user waves but doesnot face the vehicle, the two conditions are not satisfiedsimultaneously. The system may ignore the waving act. After determiningthe user is waving at the vehicle, the control system contacts ServiceCenter, sends a hailing message at step 104, and then waits forpermission from Service Center. Service Center reviews the hailingmessage and checks whether the vehicle is assigned to a job already. Thecenter also checks whether there is another vehicle which sends asimilar hailing message regarding the same user in a given time period.If the vehicle is not reserved for any assignment and the vehicle is theonly one which sends a hailing message within the time period, ServiceCenter sends an approval message to the control system.

After getting approval from Service Center at step 106, the controlsystem continues monitoring the user at step 108. The user may walk tothe vehicle or stay put at the same place. If it is detected that theuser walks toward the vehicle, the vehicle doesn't need to move andhence it waits for the user at the same spot. If the vehicle is alreadyon the way to approach the user, the vehicle stops moving and waits forthe user to come to it. The control system may replace the vacant signby another sign with a word like “Welcome”, when the user walks towardthe vehicle. At step 110, the control system provides three options forthe user: Getting a ride to a place, shipping a parcel, or a combinationthereof. The user may start a check-in process for a ride after gettingin the vehicle. If the user wants to ship a parcel, the user may placethe parcel inside the vehicle and proceed with shipping procedures. Ifthe user doesn't move toward the vehicle within a predetermined timeperiod, the control system may drive the vehicle to the user. Thecontrol system may measure the position of the user and calculate aroute to go there at step 112. Next at step 114, the control systemstarts a motor or engine and navigates the vehicle to approach the useralong the route, while replacing the vacant sign by a sign with a wordlike “Coming”. After the vehicle stops in front of the user at step 110,the user may enter the vehicle and check in for a journey, ship a parcelvia the vehicle, or check in for a journey and ship a parcel during thetrip. At step 116, the control system calculates a route and takes theuser and/or a parcel to a place. After the user gets in, the vehicle maydisplay a sign with a word like “Occupied” so that other users know itis not available for hailing.

Sometimes, e.g., during the rush hour, more than one user may wave at avehicle at the same time. Thus certain rules may be made for cases whenmultiple users waves simultaneously. For instance, if a user and avehicle are on the same side of a road while the other user is on theother side, the user on the same side prevails. When multiple users areon the same side of a road, the user who is closer or the closest to thevehicle prevails. For such a purpose, a vehicle may be arranged tomonitor and analyze multiple users at the same time.

When more than one vehicle responds to a waving user, the user may use afinger or a hand to point at a vehicle to select it. When a vehicledetects that a user points or waves at another vehicle or object, itwill not proceed to pick up the user.

It is noted that systems and methods for hailing a vehicle not onlyapply to automobiles, but also apply to robots, drones, flying cars, andships, as they may have similar sensors to ascertain a user and maymaneuver to the user autonomously.

A user may gesture at a vehicle when the vehicle is in sight andmonitoring the user. But a hailing gesture doesn't work if a vehicle isin sleeping mode with sensors turned off. When a vehicle is in sleepingmode, a user may use an app to contact Service Center and let the centersend a message to activate the vehicle. FIG. 4 shows an exemplarydiagram of an app interface which a user may use to hail a car or find acar. Assuming that Car App is installed at a smartphone 38. The app maybe provided by Service Center for hailing a vehicle, reserving avehicle, or ship a parcel. As shown in FIG. 4 , the app is launched andcontent of the app interface is shown on a touch-sensitive screen 46.There are schematically four interactive elements or buttons 40, 42, 44,and 68 that represent four options presented to a user. The buttons haveexemplary labels such as “Hail Car”, “Find Car around Me”, “Schedule aPickup”, and “Ship Parcel”, respectively. The top portion of theinterface is configured for a simple and quick hailing process whichrequires one action only. The first line shows a title, like a sentence“1-Tap to Hail a Car”. Below the title, button 40 is arranged forstarting a one-tap-to-hail-a-car process.

The app is designed such that a user may just tap button 40 to completea vehicle hailing process without submitting a pickup location, pickuptime, a destination location, or other information. Assuming that a userhas an account at Service Center and enables a location option at phone38. When the location option is enabled, phone 38 may turn on GPS or usecertain positioning mechanism to get its location info. After Car App islaunched, an interface like the one in FIG. 4 may appear. Since thephone's location is measured constantly, the app may obtain data of thecurrent location anytime. Once a user taps button 40, it prompts the appto send a message to Service Center. The message may contain at leastthree items: The user's account number, data of the current location,and a request for hailing a vehicle. Service Center may assume that theuser needs a vehicle right now and the pickup place may be the user'scurrent location or a nearby place if the current location is notsuitable for pickup. Next Service Center may select and dispatch avehicle to pick up the user and send a confirmation message to the userin the meantime. The message may show up in the app interface withcontent such as when a vehicle will come and where a pickup place willbe. If the user closes the app after tapping button 40, Service Centermay send the user an email or a short message containing similarinformation.

As a user only needs to tap button 40 after the app is launched, hailinga vehicle may become simple, quick, and convenient. Such aone-tap-to-hail-a-car process especially fits autonomous vehicles. Forinstance, before a taxi with a driver is dispatched, the driver's workarea and work schedule have to be reviewed. Some drivers may not beavailable for a long trip or a trip to a specific area. On the contrary,autonomous vehicles may not have such limiting factors. They may betreated relatively equal. They may be sent to a user without knowingdestination info or without worrying about where the user will go.

When a user wants to schedule a pickup at a later time or at anotherlocation, the user may tap button 44. After the button is tapped, awindow may appear where related information may be submitted.

When a user wants to ship one or more parcels, the user may tap button68. After button 68 is tapped, a window may appear to show shippingoptions. Certain spaces may also be configured in the window for theuser to provide information such as a ship-to address and pickuplocation. Further details about the window with regard to shipping areillustrated in descriptions below.

When a user needs to hail a vehicle, the user may tap button 40 or 44 tohail one. Next, Service Center may dispatch a vehicle to pick up theuser. Sometimes when there are available vehicles nearby, a user maywant to take a look at the vehicles, compare one with another, and thenchoose one to hail it. Button 42 is arranged for checking vehicleswithin a given short distance. When the app senses button 42 is tapped,it sends a message to Service Center. The message contains the user'slocation info and a request for finding vehicles. The user's accountnumber may or may not be included, depending on the setting or userselection. Next, Service Center receives the message and retrievesvehicle info from database. The center may conduct a search and selectvehicles which are parked around the user within a given distance. Thegiven distance may be determined by Service Center and arranged around,for instance, one hundred to two hundred meters. Service Center thensends info about the selected vehicles to the user. The info containslocations of selected vehicles and a map covering areas around the user.

After getting the info from Service Center, the app presents it in theinterface, as depicted schematically in FIG. 5 . A message “5 carsaround you” summarizes the search result. The map is presented in awindow 48. There are five vehicle icons representing five vehicles onthe map. A user may take a look at the map and then search around tofind the vehicles in the surroundings. The five vehicles may be notifiedby Service Center already and each may show a vacant sign. A button 58with a label “Hello” is configured beneath the map area. Once button 58is activated, the app sends a “Hello” message to Service Center. Thecenter then sends a message to vehicles which are shown on the map.After receiving the message, the vehicles may respond by showing a“Hello” signal or sign. The “Hello” signal or sign may be arranged moreconspicuous than the vacant sign. It shows that a vehicle is availableand ready for hailing. Examples of the “Hello” signal or sign mayinclude flashes of certain light and a word like “Hello”, “Available”,or “Ready”, etc. The “Hello” signal or sign may last for a short periodof time, such as around one to three minutes. A user may tap button 58again to have another survey on nearby vehicles. When the user finds asuitable vehicle, the user may hail it with a gesture or via the app.

Alternatively, a small check box (not shown) may be configured besideeach vehicle icon on the map in window 48. A user may check one or moreboxes and then tap “Hello” button 58. Then only the checked vehicles,i.e., the vehicles whose boxes are checked, are notified by ServiceCenter. These vehicles may respond by showing the “Hello” signal orsign. Thus, a user may use the check boxes and the “Hello” button torecognize each vehicle individually. For instance, a user may check abox, tap the “Hello” button, and then look around to see which vehicleshows the “Hello” signal or sign. The check box helps a user find andinteract with a vehicle conveniently.

The vehicle icons which represent vehicles on the map are arrangedinteractive. A user may tap a vehicle icon to find info about a vehicle.For instance, a window may show up after a vehicle icon is tapped. Thewindow may provide vehicle info like make, model, year, color, and soon. The window may also present an interactive button “Hail this car”.When a user taps “Hail this car” button, the app sends a message toService Center. The message may indicate that the user has selected thevehicle and wants to hail it. Next, Service Center may approve therequest and assign the vehicle to the user. The center may send amessage to the user to confirm the hailing result and send anothermessage to notify the vehicle.

Since button 40 remains valid in the app interface, a user may tap itanytime to do a quick hailing process. It is noted that tapping button40 means a user asks Service Center to choose a vehicle. Service Centermay select a vehicle around the user or from another place.

Although positions of available vehicles are displayed on a map, such asthe map in window 48, some users may still find it hard to know wherethe vehicles are located in the real world. The problem is that atraditional map shows locations in all directions and it is notintuitive to match a place on a map to a place in front of a user. Inorder to overcome difficulties to figure out a vehicle's real location,a button 50 is arranged. The button, having a label such as “PointingMode”, is used to present an elongated map in the interface.

After sensing button 50 is tapped, the app removes window 48 andreplaces it with a window 52, as illustrated schematically in FIG. 6 .Window 52 shows an elongated map. A message “2 cars ahead of you” tellsa user that there are two vehicles in a forward direction. Anothermessage “Point Mode” is used to remind a user that the map is inpointing mode. “Pointing mode” as used herein means a map has anelongated shape and is elongated along the phone's pointing direction.When a screen of a smartphone or smart watch is in a horizontal plane,the pointing direction is what its front end faces at. When the screenis in a vertical plane, the pointing direction is what the screen's backfaces at. As the map in window 52 is narrow, it may be arranged todisplay available vehicles only in front of a user or only in a forwarddirection and still within a short given distance. When there are twovehicle icons on the map, it means there are two vehicles in thepointing direction of phone 38. Hence confusion about which direction avehicle is located in may be overcome, since the direction is what thephone points at. It is noted that the pointing mode needs orientationdata of a device. Thus orientation capability should be enabled at adevice to support the pointing mode. Orientation data may be obtained byan electronic compass installed at phone 38.

Similar to button 58, a “Hello” button 54 is configured on screen 46 ofFIG. 6 . A user may tap button 54 to send a “Hello” message to ServiceCenter. The center then sends messages to the two vehicles and requeststhem to show a response like the “Hello” signal or sign.

In addition, the user may also points phone 38 at different directionsto check vehicle availability elsewhere. FIG. 7 depicts a scenario whenthere is no available vehicle along a pointing direction.Correspondingly, there is no vehicle icon on the elongated map in window52. In this case, button 54 may be configured to appear, for example,blank with a decreased brightness level.

Returning to FIG. 4 . When a user wants to find vehicles around him orher, the user may tap button 42. After that, the app sends a searchrequest to Service Center. The request also contains location data ofthe user. The center then searches available vehicles nearby. Next, thecenter sends to the user location info of selected vehicles and a mapwhich covers a given short distance from the user. In the meantime, thecenter sends wake-up messages to the selected vehicles which appear onthe map.

After a vehicle receives a wake-up message from Service Center, itstarts a process to engage a user. FIG. 8 shows an exemplary flowdiagram for such an event. At step 118, a vehicle receives a wake-upmessage from Service Center. Next, the vehicle begins searching for auser who may want to hail a vehicle for a trip or shipping a parcel atstep 120. The vehicle may already have a vacant sign to show it'savailable. If not, it displays the sign to notify people around it. AsService Center has location data of the user, it passes the info to thevehicle so that the vehicle knows where the user might be. Resultantly,the vehicle may ignore users from other areas. Thus interference,misunderstanding, and misrepresentation may be reduced.

Sometimes the vehicle may not find the user immediately, as the user maybe blocked by an object, e.g., a building or another vehicle. If asearch has no result at step 122, step 120 is taken again and the searchcontinues. When the vehicle finds the user at step 122, it ascertainswhether the user waves at it at step 124. If the user doesn't wave atthe vehicle within a given time period, it may mean the user may not bethe person who wants to hail a vehicle. Then the vehicle returns to step120 and starts another search. If it is detected that the user waves atthe vehicle at step 124, the vehicle sends a hailing message to ServiceCenter, asks for approval at step 126, and then wait for a response fromService Center. Once receiving an approval message, the vehiclecalculates a route and drives to the user at step 130. If it is notapproved, the process ends at step 128. As aforementioned, ServiceCenter may use the approval process to verify that the vehicle is notreserved for another task. The approval process is also useful whenmultiple vehicles each determine a user is waving at it. As a user maygesture from a distance, it may be difficult to tell which vehicle theuser aims at. Then Service Center may receive hailing requests fromseveral vehicles within a given time frame, say one to five seconds. Thecenter may select a vehicle based on certain rules. For instance, thecenter may pick a vehicle which is the closest to the user and assign itto take the task. Alternatively, the center may select a vehicle whichis the first to submit a hailing request.

In addition, the vehicle may ascertain whether the user walks toward itat step 124. If the user waves or raises hand and then walks to thevehicle, the vehicle may stay there waiting for the user to come, orstop moving to the user and park at a spot to await the user.

After the user and vehicle meet at step 130, three options are providedfor the user by the vehicle. If the user wants a ride to a place, thevehicle starts a journey after certain check-in procedures. If the userwants to ship a parcel, the vehicle receives the parcel from the user,performs shipping procedures, and prints out a receipt for the user. Ifthe user wants to do both, the vehicle accepts the parcel before orduring the journey, goes through shipping steps, and drives the user toa destination.

FIG. 9 shows another exemplary flow diagram of a hailing process. Avehicle receives a wake-up message from Service Center at step 132. Asaforementioned, after a user launches an app at a user device andrequests a vehicle search at Service Center, the center sends wake-upmessages to selected vehicles which are within a given short distancefrom the user. One of the selected vehicles starts a process to find theuser at step 134. The vehicle may already have a vacant sign to showit's available. If not, it displays the sign to notify the public.Meanwhile, Service Center also sends relevant vehicle info to the user.An app interface like that of FIG. 5 may show up at the user device.Vehicle icons representing available vehicles within the short distanceare displayed.

At step 136, the vehicle monitors messages from Service Center. One ofthe messages may contain hailing instructions. For instance, a user maytap a vehicle icon in the interface, like the icons in window 48 or 52of FIG. 5 or 6 . After the app detects that a vehicle icon is tapped, itpresents a new window. The window may show info of the vehicle and a“Hail this car” button. Then the user taps the “Hail this car” button toreserve the vehicle. In response to activation of the button, the appcontacts Service Center and passes the selection info. Service Centerthen assigns the vehicle to the user and sends hailing instructions tothe vehicle. After the vehicle receives the hailing instructions, itdrives to the user autonomously at step 142 and picks up the user orreceives a parcel from the user.

If the vehicle doesn't receive any hailing instructions at step 136, itsearches for the user or detects whether any hailing gestures are madewhen the user is found at step 138. If the user is not found or hailinggestures are not observed for a given period of time, the vehiclereturns to step 134 to start another round. If hailing gestures aredetected at step 138, the vehicle sends a hailing message to ServiceCenter. At step 140, if the vehicle gets a disapproval message from thecenter, the hailing process ends at step 141. If the vehicle receivesapproval from the center, it drives to the user autonomously at step 142and picks up the user. If the user has a parcel to ship, the user mayutter a voice command such as “Ship parcel” to the vehicle. Then, thevehicle receives the parcel from the user and performs shippingprocedures.

FIG. 10 shows an exemplary flow diagram which depicts vehicle activitiesaccording to the present invention. When a vehicle is free of anyassignment and sits beside the curb of a road or at a parking lot, itmay have two modes. At step 144, a vehicle is in standby mode with avacant sign displayed. The vehicle's engine or motor is turned off,while the sensors which monitor the external environment are still on.The vehicle is arranged to monitor nearby users, ascertain them, anddetect their gestures at step 150. If a user waves at the vehicle, acontrol system of the vehicle may analyze it, determine the meaning ofit, and drives to the user autonomously after getting approval fromService Center. Alternatively, if the approval is not required in somecases, the vehicle may drive to a waving user without first contactingService Center.

Sometimes, a vehicle may rest in sleeping mode as shown at step 146.When a vehicle is in sleeping mode, the engine (or motor) and mostsensors may be power off. The vehicle may display a sign such as “Out ofservice”. The vehicle doesn't monitor its surroundings or detect auser's gestures. The sleeping mode may be interrupted by a signal fromService Center at step 148. After the vehicle receives a wake-up signalor wake-up message from Service Center, it turns on the sensors anddisplays a vacant sign. The vehicle then starts monitoring users in thesurroundings at step 150. Hence, a user may gesture to hail a vehicle instandby mode, but it may not work if the vehicle is in sleeping mode. Avehicle in sleeping mode may be activated by Service Center, which mayhappen after the center receives a search request from a user.

FIG. 11 shows an exemplary app interface which reflects a scenario aftera user hails a vehicle according to the present invention. The vehiclemay be hailed via a gesture or tapping a button as aforementioned. Amessage “Vehicle Coming” is displayed in the top portion of the screen,which assures the user that the vehicle is coming to him or her. Awindow 60 may show the make, model, year, color of the vehicle and otherinfo. A map in a window 62 may show the real-time position of thevehicle and the user. Location info of the vehicle may come from ServiceCenter, which gets it from the vehicle. The user may tap a “Yes” button64 to verify the hailing result. If the user doesn't tap button 64, itwould not matter. If the user finds a wrong vehicle is selected, theuser may tap a button 66 with a label such as “No, not this one” tocancel the selection. After button 66 is tapped, the app may notifyService Center and present other available vehicles on the map. Then theuser may tap an icon of another vehicle to select it. The user may alsogestures at another vehicle to hail it, as illustrated above. The newlyselected vehicle may appear moving on the map as it approaches the user.

If the user walks to the vehicle after hailing it, the vehicle maydetect the action and report it to Service Center. Service Center thensends a message to the app. Alternatively, the app may detect that theuser moves toward the vehicle according to location data of the user andthe vehicle that is continuously updated. Then the app may pass the infoto Service Center. Thereafter, the app may present another interface,which is depicted exemplarily in FIG. 12 . A message in the interfacesays “Going to Vehicle”, confirming that the user is going to thevehicle. Overall, FIG. 12 resembles FIG. 11 . Information about thevehicle is presented in window 60. The map in window 62 may show thatthe user moves toward the vehicle in real time, while the vehicle staysput. Similarly, buttons 64 and 66 are arranged for the user to verifythe hailing act or cancel it.

After detecting a user's hailing gestures, a vehicle may drive to theuser directly or wait for approval from Service Center beforeapproaching the user. Both methods have merits. The former is easy toimplement, while the latter may improve user experience as it preventsconfusion and awkwardness caused by multiple vehicles going to the sameuser. FIG. 13 shows an exemplary flow diagram which describes a hailingprocess supervised by Service Center. At step 152, Service Centerreceives a hailing message from a vehicle. The message is sent after thevehicle detects that a user makes a hailing gesture at it. The user maywant to go to a place and/or ship a parcel. The center checks content ofthe message. At step 154, the center obtains from the message locationdata of the vehicle, location data of the user, and info about thegestures which are considered as a hailing request. Location data of theuser is acquired by the vehicle via measurements using sensors (e.g.,cameras and LIDAR). The center may also obtain from the message imagesof the user which are taken by the vehicle.

At step 156, Service Center reviews the hailing case. Based on locationinfo of the user, or the location info plus images of the user, thecenter checks how many vehicles send a hailing message about the sameuser. When a user is at a distance while some vehicles are relativelyclose to each other, the vehicles may receive the same gesture signalsfrom the user. Thus more than one vehicle may detect the same hailinggestures. When Service Center receives a hailing message from only onevehicle within a given time period, the vehicle may be selected. WhenService Center receives hailing messages from multiple vehicles withinthe given time period, the center may select one based on predeterminedrules. For instance, the center may obtain a distance between a vehicleand the user by, for example, calculation based on the location info. Avehicle which is the closest to the user may be selected. Alternatively,the center may also select a vehicle which is the first to send ahailing message. In addition, the center may check whether a vehicle isreserved already and remove the vehicle if it is assigned to anothertask. At step 158, a vehicle is chosen and assigned to the user afterthe reviewing process. The center then sends an approval message to thevehicle. Depending on the needs of the user, the vehicle may drive theuser to a destination or receive a parcel and take shipping instructionsfrom the user. The method applies to vehicles sitting at a place orrunning on a road. When the vehicles are parked, the given time periodmay be one to five seconds. When the vehicles are running, the giventime period may be one to two seconds or shorter.

FIG. 14 shows another exemplary flow diagram about a hailing processsupervised by Service Center. The process helps a user hail a vehiclefor a ride to a pace or shipping a parcel. At step 160, Service Centerreceives a vehicle search request from a user. The request is sent afterthe user launches an app (e.g., the Car App) at a user device andsubmits a search request, like tapping button 42 of FIG. 4 . Asaforementioned, location data of the user is also sent to the centerwith the search request. At step 162, the center finds suitable vehiclesaround the user within a given distance and retrieves info of theselected vehicles from database. At step 164, the center sends thevehicle info to the user. Once the user device obtains the vehicle info,it presents a map in the app interface, where locations of the selectedvehicles are displayed. At step 168, Service Center receives a hailingrequest and/or shipping request from the user. As discussed, the usermay tap a vehicle icon on the map and proceed to hail the vehicle. Thecenter may review the request, approve it, and send messages to the userand the chosen vehicle respectively at step 172. The message to the userconfirms the hailing act. The message to the vehicle contains locationdata of the user and instructions for the vehicle to find and engage theuser. Thereafter, the user may submit a command to the vehicle, such asuttering a voice command or tapping a button on a touch screen, and askthe vehicle to go to a place or start a shipping process to ship aparcel.

After receiving a search request from the user, Service Center alsosends messages or wake-up messages to the selected vehicles at step 166.When a vehicle is in standby mode, the message serves as a notification.When a vehicle is in sleeping mode, the message works as a trigger or anactivation command besides a notification. As illustrated above, theselected vehicles may search for the user and display vacant signs toshow they are available. Once a vehicle detects that the user gesturesat it, it sends a hailing message to Service Center. The center mayreceive the hailing message from one or more vehicles at step 170. Thecenter then reviews the hailing case, chooses a vehicle based on certainselection rules when multiple vehicles are involved, and assigns thevehicle to the user. As aforementioned, the center may select a vehiclebased on vehicle-user distance or message-sending time. The center mayalso select a vehicle based the preference of the user, such as the makeor size of a vehicle. At step 172, Service Center sends a confirmationmessage to the user, and transmits instructions to the assigned vehicle.After the user meets the vehicle, the user gets in it and starts ajourney to a destination. If the user wants to ship a parcel, the userputs the parcel inside the vehicle and proceeds with a parcel-shippingprocess.

FIG. 15 is an exemplary diagram illustrating various processes to ship aparcel according to the present invention. Referring to FIG. 4 , afterdetecting that button 68 is activated (e.g., by tapping), the app (e.g.,the Car App) provides an interface for shipping parcels. Content itemsrelated to shipping are presented on screen 46, as shown in FIG. 15 . Atitle shows a subject of the new page, such as “Ship Parcel”. A space 70is configured for a user to enter a ship-to address (or deliveryaddress) for a parcel, which is where the parcel is sent to (ordelivered to). The user may determine a parcel pickup option amongmultiple options provided by the app. For example, a parcel may bepicked up by the roadside, in a hailed vehicle, or at an address (e.g.,at home or in the workplace).

Referring to FIG. 15 , the name and address of a recipient may beentered in space 70 by the user. If the user wants to give a parcel to avehicle beside the curb of a road, at a parking lot, in a driveway, orat a spot where a vehicle can stop or stay temporarily, the user maycheck a checkbox 72 or input certain information in a space 74. Whencheckbox 72 is selected, it indicates that the user chooses the currentlocation (e.g., a location beside the curb) as the pickup location. Ifthe user does not select checkbox 72, but enters an address or a name ofa place in space 74, a roadside spot close to the address or place maybe considered as the pickup place for a parcel. Optionally, a checkbox76 may be arranged in the app interface that represents an option forparcel pickup when a user is inside a hailed vehicle. For example, whena user wants to hail a vehicle to go to a place and ship a parcel at thesame time, the user may check or select checkbox 76, carry a parcel whenhailing a vehicle, and pass the parcel to a hailed vehicle afterchecking in the hailed vehicle.

Further, a button 84 may be arranged in the app interface for a user toselect a shipping method, such as same-day service, overnight service,ground service, etc. The shipping method may also include a service thatstarts a trip to go to a local ship-to address within a short time(e.g., 10 minutes to 30 minutes) after receiving a parcel. More spaces(not shown) may also be configured in the app interface where a user mayenter a ship-from address (e.g., the user's home address) andinformation about a parcel, such as the weight and dimensions.

After a user submits certain shipping information via the app interface,the user may activate a “Ship Now” button 78, a “Ship Later” button 80,or a “Ship after Hailing Car” button 82. Activation of button 78indicates that the user requests a vehicle to pick up a parcel at thecurrent time. Activation of button 80 indicates that the user wants toset up a schedule for parcel pickup at a later time. For example, asmall window may appear for the user to select a time slot for parcelpickup. Activation of button 82 indicates that the user requests pickupof a parcel when the user is with a hailed vehicle for a ride, which mayhappen after the user hails a vehicle now or later. As such, tappingbutton 82 also means that checkbox 76 is selected.

In response to detecting that button 78 is activated, the app sendsService Center a shipping request message. After receiving the shippingrequest, Service Center finds a vehicle, dispatches the vehicle to theuser to pick up the parcel, and sends a confirmation message to the uservia the app, in a manner similar to that when a vehicle hailing requestis received. The app may display the confirmation message on screen 46after obtaining it from Service Center.

In response to detecting that button 80 is activated, the app sendsService Center a shipping request message that contains a pickup timeprovided by the user. After receiving the shipping request, ServiceCenter stores the information, makes certain arrangements with respectto an account of the user, and sends a confirmation message to the uservia the app. The app may display the confirmation message on screen 46after obtaining it from Service Center. For example, Service Center mayassign a vehicle to pick up a parcel at a location selected by the userat the scheduled time.

When the app detects that button 82 is activated, the app sends ServiceCenter a shipping request message that has a vehicle hailing condition.In response to reception of the shipping request, Service Center sendsthe user a confirmation message, which may be displayed at smartphone 38by the app. The confirmation message may contain certain shipping infothe user submitted and remind the user a parcel will be picked up whenthe user gets in a hailed vehicle for a ride. In the meantime, ServiceCenter may keep the shipping request of the user and wait for the userto hail a vehicle. The user is expected to carry a parcel when hailingfor a ride now or later.

Optionally, a user may also activate button 78, 80, or 82 withoutsubmitting any shipping information, e.g., via spaces 70 and 74 andcheckbox 72. In these cases, relevant shipping info will be collected bya vehicle when the vehicle meets the user. If the app detects thatbutton 78, 80, or 82 is activated but the user does not submit anyshipping information, the app sends a shipping request to ServiceCenter. The shipping request may contain info about the user and anaccount number of the user. As the user does not give any shippinginformation, Service Center may consider the user's current location isthe pickup location if button 78 is activated, send a confirmationmessage to the user, and then dispatch a vehicle to the user's currentlocation for parcel pickup. The app may display the confirmation messageon screen 46 after receiving it from Service Center. If button 80 isselected by the user, Service Center may send the user a note asking theuser to provide further info (e.g., parcel pickup time and location)when it becomes available. If button 82 is activated, meaning the userwants to ship a parcel when hailing a vehicle now or at a later time,Service Center may send a confirmation message to the user. The app mayshow the confirmation message on screen 46, which confirms that a parcelwill be picked up when the user hails a vehicle for a ride now or later.

As another option, the user may also input a street address (e.g., ahome address) as the pickup place in a space 86 and schedule a time forpicking up a parcel. Hence, at least three options are provided forparcel pickup via the app interface.

As illustrated above, after a user taps button 78, 80, or 82, the usermay receive a confirmation message from Service Center. If the useralready provides sufficient shipping information for a parcel, the appmay create one or more shipping labels and asks the user to print outthe labels and attach them to the parcel. In some cases, shipping labelsmade by users are temporary and will be replaced and covered by formallabels printed at a vehicle. In some other cases, shipping labels madeby users are formal and will be used to deliver parcels after a checkingand verification process conducted by the app or Service Center.

After a user selects checkbox 72 and taps button 78, the app may show aconfirmation message sent from Service Center on screen 46. Theconfirmation message may contain information such as when a vehicle willarrive at the current location of the user and a brief description ofthe vehicle. After the vehicle comes, the user approaches it, opens adoor, and utters “Ship parcel” as a shipping request to start a parcelpickup process. Optionally, a touch-sensitive display of the vehicle mayshow interactive buttons with labels such as “Go to a place” and “Shipparcel”, which represent two requests or commands (i.e., for a ride andparcel shipping), respectively. The display may be placed inside thevehicle or on the exterior side of the door. The user may tap the “Go toa place” button to ask for a ride to a destination, or tap the “Shipparcel” button to ship a parcel. If the user wants the vehicle toperform both of the tasks, the user may tap the two buttons within ashort time period or utter two verbal requests such as “Need a ride andparcel service”.

As the weight and dimensions of a parcel are needed for shipping, avehicle may have a weighing device (e.g., a weighing balance) andanother measurement device that detects the size of a parcel. Thevehicle may also have a scanning device to scan a parcel and read alabel on the parcel to obtain info such as a ship-to address andship-from address. If a user has submitted certain shipping info usingthe app, the user may open the app at a mobile device (e.g., asmartphone or smart watch) and let the app contact the control system ofthe vehicle. Then the control system may retrieve relevant info from theapp or use the user's account info to get relevant data from ServiceCenter. Alternatively, the user may enter certain shipping informationusing a keyboard or touch screen of the vehicle. If the parcel needs ashipping label, the control system may print out the shipping labelusing a printer installed at the vehicle. The vehicle may have a devicethat attaches the printed shipping label on the parcel. The user may payfor the shipping fees through an account at Service Center, or use cashor a credit card. The user may put the parcel in a compartment of thevehicle or a designated place (e.g., at the trunk).

If the user selects checkboxes 72 and 76 and taps button 78, itindicates that the current location is the parcel pickup location andthe user needs a ride to go to a place now. Then, Service Center maydispatch a vehicle to pick up the user and receive a parcel. When avehicle arrives, the user approaches it and checks in via a controlsystem of the vehicle. The control system retrieves relevant hailing andshipping info from Service Center. The user may hand the parcel to thevehicle and finish shipping procedures before or during the trip. Thecontrol system measures the weight and dimensions of the parcel afterreceiving it, attaches a shipping label on the parcel, and then printsout a shipping receipt.

Vehicles as used herein include multiple types. A dual-use vehicle maycarry a user for a ride, receive a parcel, and provide shipping service.A passenger-only vehicle may carry a user but may not have the capacityto receive a parcel and do shipping procedures. A cargo-only vehicle mayreceive a parcel and perform shipping service, but may not carry a userfor a ride. The term “shipping service” as used herein indicates a typeof service that assists people to ship a parcel. Shipping serviceprovided by a vehicle may include one or more actions such as receivinga parcel from a user, measuring the weight and dimensions of a parcel,scanning a parcel to read addresses a user wrote or labels a user putson a parcel, generating shipping labels, and printing a receipt. When auser just wants to ship a parcel, Service Center may send a cargo-onlyor dual-use vehicle to get the parcel and perform shipping service. Whena user needs a ride to a place and to ship a parcel at the same time,Service Center may dispatch a dual-use vehicle to pick up the user andtake the parcel. Alternatively, Service Center may also send the user acargo-only vehicle and a passenger-only vehicle, respectively. The usermay ship the parcel via the cargo-only vehicle, and then gets in thepassenger-only vehicle to go to a place. In some cases, Service Centermay also take the user to a destination in a passenger-only vehicle, andsends a cargo-only vehicle to meet the user during or after the trip andthen picks up the parcel there.

FIGS. 16 -A and 16-B are schematic diagrams illustrating a parcelcompartment according to the present invention. As depicted in FIG. 16-A, a parcel compartment door 88 is configured inside a vehicle (notshown). Assuming a user selects in-vehicle parcel pickup. During theride, the user utters a command such as “Ship parcel” or taps adesignated button for shipping. A control system of the vehicle detectsthe voice command (or activation of the designated button) and startsshipping procedures. The user slides door 88 along a pair of tracks 90to open it. Then, a parcel compartment 92 appears. Parcel compartment 92is configured in a space behind door 88. Multiple sensors and devicesmay be installed in the space to assist parcel shipment. The sensors anddevices may be connected to and operated by the control system. The userplaces a parcel 94 in the compartment, as shown in FIG. 16 -B. Theparcel is put on a weighing device 96 (e.g., a weighing balance) thatmeasures the parcel weight. Further, a device such as an optical devicemay be installed in the space to measure dimensions of the parcel. Forexample, the optical device may emit a laser beam to illuminate theparcel and take pictures of the parcel. Optionally, the parcel may berotated by the weighing device 96 so that pictures may be taken fordifferent sides of the parcel. Measurement data are sent to the controlsystem for calculation and analysis. For example, data of the picturesmay be analyzed by certain algorithm to calculate three dimensions ofthe parcel. The space may also contain a printer to produce shippinglabels and an attaching device that puts shipping labels on the parcel.The attaching device may have a flexible arm with a hand capable oftaking a label from the printer and placing the label on a select outersurface of the parcel. After the user puts the parcel inside compartment92, compartment door 88 may be closed automatically. The control systemmay send Service Center measurement data, calculation results, and otherinfo collected from the parcel and the user. Thereafter, Service Centerprepares a confirmation message including shipping charges and send themessage to the user and the vehicle. The user may arrange a payment forthe parcel and continues the journey in the vehicle.

When a user just wants to ship a parcel, the user may get in thevehicle, utter a shipping command, complete a check-in process, put aparcel inside compartment 92, and proceed with other procedures (e.g.,verifying or providing a ship-to address). After the control system ofthe vehicle finishes shipping steps, it may print out a receipt or senda receipt to the user by email. Then the user may get out of and leavethe vehicle.

Optionally, multiple parcel compartments may be configured inside avehicle. After a user utters a command to ship a parcel, one of thecompartments may be selected and assigned to the user. For example, asign may be lightened to indicate an assigned compartment. The door ofthe assigned compartment may be unlocked or opened automatically.

FIG. 17 is an exemplary diagram illustrating a parcel ship/deliveryvehicle 97 according to the present invention. Vehicle 97 may be anautonomous cargo-only vehicle that makes delivery to users and picks upparcels from users. For example, vehicle 97 may deliver a parcel to ahouse, a parcel box outside a building, a parcel box inside a building,and receive a parcel from a user by the roadside. The term “parcel box”as used herein indicates a storage unit for keeping a parceltemporarily. The storage unit has a door and a person may open it with acode or a recognition mechanism. A sign 98 with exemplary words“Ship/Deliver” is mounted on the roof of vehicle 97 that shows functionsof the vehicle to the public. Sign 98 may be used to indicate thevehicle provides shipping service (e.g., accepting parcels from people),and deliver parcels to recipients. Vehicle 97 may be equipped withsensors to detect gestures and voice commands. As such, a user may hailvehicle 97 using various methods illustrated above, such as usinggestures. After vehicle 97 stops beside a user, the user may open acompartment door 99 installed at the vehicle. Then, a compartmentappears along with a touch screen for inputting info by the user. Thecompartment may have sensors and devices similar to that of compartment92 of FIG. 16 -B. The user may put a parcel on a weighing device in thecompartment and proceed with shipping steps. Compartment door 99 asshown in FIG. 17 may be installed on a dual-use vehicle, too. As such, auser may put a parcel in the compartment without getting inside avehicle.

Optionally, vehicle 97 may have multiple parcel compartments with doors,for example, similar to door 99. When a user utters a command or push abutton to ship a parcel, one of the compartments may be selected andassigned to the user. For example, a sign may flash with light ofcertain color to indicate an assigned compartment. The door of theassigned compartment may be opened automatically. When a user shipsmultiple parcels, doors of the select compartments may be openedconsecutively. The user may submit parcels one by one followinginstructions provided by the vehicle.

In some cases, a sign may also be mounted on a dual-use vehicle thatcarries a user and picks up parcels. The sign may be attached to theexterior of the vehicle or placed behind the windshield. Examples ofsigns for the dual-use vehicle may include, for example, “Ride/Ship”,“Taxi/Shipping”, “Accept Parcels”, etc. Such signs show people around itthat the vehicle not only takes passengers for a ride, but also picks upor accepts parcels from people and performs shipping service.

FIG. 18 shows an exemplary flow diagram for a vehicle to pick up aparcel from a user (or assist shipping service). Referring to buttons78, 80, and 82 as shown in FIG. 15 , after a user taps button 78,Service Center may dispatch a vehicle to receive a parcel at a specifiedlocation at the current time or within a short time period. If the usertaps button 80, Service Center dispatches a vehicle to pick up a parcelat a specified location at a scheduled time. If the user taps button 82,Service Center waits for the user to hail a vehicle for a ride, anddispatches a vehicle to pick up the user in response to a hailingrequest to go to a place. The hailed vehicle may receive a parcel fromthe user before the ride, during the ride, or after the ride. Thespecified location for parcel pickup or user pickup is determined by theuser and may be a location by the roadside, beside the curb of a road,at a parking spot or parking lot, or in a driveway.

As shown in FIG. 18 , a select vehicle receives a dispatching messagefrom Service Center at step 174. The vehicle may be driving on a road orparking at a place. At step 176, the vehicle navigates to a pickuplocation according to the dispatching message. When the vehicle is closeto the pickup location, e.g., about 50 to 100 meters, it determines thepickup location based on maps and three dimensional (3D) sensing dataobtained from detectors, and starts searching for the user who has madea hailing and/or shipping request at step 178. The control system mayretrieve user data from Service Center at this step or the previousstep. Optionally, Service Center may also send the user data to thecontrol system. The user data may include information about the user,such as the name of the user, an account number of the user, a passwordfor the account, a specific code for login, etc. Optionally, the userdata may also include an image that shows the full face of the user,facial recognition data, and/or fingerprint data.

The control system of the vehicle may operate a camera to take picturesof the pickup location and use certain algorithm to detect people in thepictures. If there is one person, the person may be the target user whomade the request. When there are multiple persons, the control systemmay monitor them and ascertain their actions. If it is detected that aperson waves, gestures, or step forward toward the vehicle, the personmay be the target user. The control system may also identify the targetuser using images of the user or through facial recognition techniques,when relevant user data is retrieved from Service Center.

At step 180, the vehicle stops at the pickup location. If a user isdetermined as the target user, the vehicle may stop beside the user. Thecontrol system may unlock the doors of the vehicle and provide optionsfor the user to check in, i.e., providing options for the user to submitidentification data. If the user chooses facial recognition orfingerprint recognition when making the hailing or shipping request, theuser may be identified by the control system via these methods. The usermay also get identified by entering a user name and a password or a code(e.g., a number or a combination of numbers and letters) via a touchscreen at the vehicle, using a smartphone (e.g., using a smartphonenumber), using an identification card or credit card, or having a QR(quick response) code scanned.

Before or after the user is identified, the user may utter “Shipparcel”. The control system receives the verbal command through amicrophone and voice recognition mechanism, and starts preparing toobtain a package from the user. After the check-in process, the userplaces a parcel in the vehicle, e.g., in a parcel compartment. As such,the control system receives the parcel at step 182. Shipping information(e.g., the recipient name, ship-to address, ship-from address, etc.)that the user has provided is transferred from Service Center to thevehicle. If the shipping information is missing or inadequate, the userenters it at the vehicle. The control system performs shippingprocedures that are part of the shipping service at step 184. Theshipping procedures (or shipping steps) may include, for example,checking the ship-to address, detecting and reading words and/or labelson the parcel, measuring the weight and size of the parcel, calculatingshipping fees, presenting shipping fees to the user, making shippinglabels, attaching shipping labels to the parcel, processing a paymentfor the shipping cost, and/or printing a shipping receipt.

If the vehicle is a cargo-only vehicle, the user may stand beside it andproceed with the procedures. If the vehicle is a dual-use vehicle, twooptions are available. The vehicle may accept the parcel and perform theshipping procedures as depicted above without providing a ride service.As the other option, the vehicle may carry the user for a ride to adestination, while the parcel may be received and shipping proceduresperformed before the ride, during the ride, or after the ride (i.e.,after arriving at the destination). For example, the user may beidentified by one of the identification methods illustrated above aftergetting in the vehicle (e.g., at step 180). Then the user provides orconfirms a destination for a ride. The control system of the vehiclecalculates a route to go to the destination and navigates the vehicle togo there along the route. The user may hand a parcel to the vehicleanytime. Correspondingly, the control system of the vehicle may performshipping procedures before or after navigating the vehicle to thedestination.

Steps 180-184 also apply to scenarios when a user hails a vehicle withgestures by the roadside. After a user hails a vehicle using gestures,the user may proceed with check-in and shipping procedures as depictedabove.

Embodiments illustrated above apply to both autonomous vehicles anddriver-operated vehicles. For example, a driver (e.g., a taxi driver ora driver of a ride sharing program) may drive a vehicle (e.g., adual-use vehicle) that has a parcel compartment or a space for receivingand keeping a parcel. Optionally, the vehicle may also have devices tomeasure items such as the weight and size of a parcel. The driver maypick up a person for a ride to a place. The driver may also pick up aperson for a ride, receive a parcel from the person, proceed withshipping steps, drive to a destination to complete the ride, and takethe parcel to a recipient of the parcel, a station, a warehouse, oranother vehicle that works as a movable collecting station.

CONCLUSION, RAMIFICATIONS, AND SCOPE

Thus it can be seen that systems and methods are introduced for hailinga vehicle for a ride and for shipping a parcel.

The systems and methods have the following main features and advantages:

-   -   (1) A user may hail a vehicle by gestures when seeing it;    -   (2) A user may hail a nearby vehicle via an app or via an app        plus gestures;    -   (3) A user may search vehicles within a short distance using an        app;    -   (4) A vehicle may monitor a user and detect hailing gestures;    -   (5) A vehicle may navigate to a user autonomously after the user        hails it;    -   (6) A vehicle may stay at a place waiting for a user after the        user hails it and then walks toward it;    -   (7) A vehicle hailing app or program may provide three options        for a user: Hailing a vehicle for a ride, hailing a vehicle for        parcel shipping, and hailing a vehicle for a ride and parcel        shipping;    -   (8) A vehicle may be dispatched to a user after user places a        shipping request via a vehicle hailing app;    -   (9) A vehicle may provide three options for a user: A ride to a        place, a process to ship a parcel, and a combination thereof;    -   (10) A vehicle may perform shipping service including measuring        the weight and dimensions of a parcel; and    -   (11) A vehicle may contain a parcel compartment that has        measurement devices.

Although the description above contains many specificities, these shouldnot be construed as limiting the scope of the invention but as merelyproviding illustrations of some of the presently preferred embodiments.Numerous modifications will be obvious to those skilled in the art.

Ramifications:

A vehicle may detect and recognize a gesture through certain algorithmand convert the gesture into instructions. Besides waving a hand,raising a hand, and using a finger to point at a vehicle, other handsigns, such as a “Come here” hand signal, may also be used as hailinggestures. While gesturing, a user has to face the vehicle; otherwise,the gestures are ignored. When a user is close to a vehicle, the usermay also nod to contact, select, or hail a vehicle. Nodding may beespecially useful for contacting or hailing a robot, as a user may meeta robot at a close distance. In addition, gazing may be combined withnodding to reduce miscommunication. A gazing act as used herein mayindicate a user gazes or looks at a vehicle. For instance, a vehicle maystart gaze sensing procedures when it detects a user nods at it. Gazesensing may be turned off when nodding is not detected or certainconditions are not satisfied, as users may prefer less surveillance.Optionally it may be configured that only when nodding and gazing actshappen at the same time, the nodding act is recognized. Service Centermay decide to use nodding alone or nodding plus gazing as a command.Alternatively, options may be provided to a user so that the user mayenable a method. As aforementioned, vehicles as used herein includeautomobiles, robots, drones, flying cars, and ships. Thus hailinggestures apply to all of them.

A facial recognition system or mechanism of a vehicle may be used toidentify a user and match the user with an account in records during acheck-in process. For example, a user may submit facial data to ServiceCenter and then check in a vehicle via facial recognition and withoutusing a code, fingerprint, credit card, or cash. A facial recognitionsystem may also be used to estimate the age of an unregistered user. Forinstance, a user under certain age may not be allowed to hail a vehicle.When a vehicle detects that a person gestures at it, it may use a facialrecognition mechanism to ascertain whether the person is under certainage. That is, it may determine whether the person is a child. If theperson is a child, the vehicle stops the hailing activity. As such, itmay protect children and prevent pranks. Rules about how to determine aperson is a child may be defined by Service Center. In addition, imagesof a user may also be used to estimate the age. For instance, a user'sheight, contour, hair style, and cloths may be analyzed for ageestimation.

In descriptions above, a user taps a button to enter an input andinteract with an app and a user device. Alternatively, a user may alsospeak to a device. The device may use a voice recognition mechanism totake and interpret voice commands. For instance, a user may utter “Yes”or “No” to phone 38 of FIGS. 11 and 12 , which may be arranged to havethe same effect as tapping button 64 or 66. A user may also utter one ora few words which have the meaning of yes or no, like “Good”, “Okay”,“Come here”, “I'm waiting”, “No, wrong car”, etc.

When a control system of a vehicle has a voice recognition mechanism, auser may also utter to the vehicle when his or her voice is audible toit. For instance, a user may say certain keywords like “Taxi”, “You”, or“I need a vehicle” to select or hail a vehicle. As a vehicle may havegaze detection capability, a gazing requirement may apply. For instance,a user may have to look at a vehicle when issuing a verbal command. If avehicle detects that a user doesn't look at it while saying something,the user's verbal input may be ignored. Alternatively, a gazingrequirement may be replaced by a facing requirement, i.e., a user mayalso face a vehicle while speaking to it. Service Center may decidewhether to implement the gazing or facing requirement. A user may saywords or a phrase like “Taxi”, “I Need a vehicle”, “Parcel service”, or“Come here” to hail a vehicle with or without making hailing gestures. Avehicle may keep monitoring the surroundings and especially peoplearound it. After receiving a user's voice request, the vehicle sends amessage to Service Center for approval. Once getting an approval messagefrom the center, the vehicle calculates a route and approaches the userautonomously.

A user may also use an AR device to hail a vehicle for a ride or parcelshipping. For instance, a user may open an app and then say “Show carsaround me”. After the AR device sends a request to Service Center andreceives vehicle info from the center, it displays a map to showavailable vehicles nearby. If the user says “Pointing mode”, the appreplaces a regular map by an elongated map. For AR devices, the pointingdirection may be the direction which a user faces. Thus when a userlooks ahead, an AR device may show an elongated map on a virtualdisplay. The map shows an area which is in front of the user.

Sometimes a user may change mind after hailing a vehicle and the vehicleis on the way to approach him or her. Regardless that the vehicle hasarrived or not, the user may cancel the hailing event. For instance, theuser may tap button 66 of FIG. 11 to cancel it as described above. Auser may also wave at a direction away from a coming vehicle. A vehiclemay monitor a hailing user continuously. Once the vehicle detects thatthe user waves at another object for a given period of time, it maydetermine that the user cancels the reservation. If the vehicle detectsthat the user waves at another object briefly and then waves at itagain, it may consider the user still wants to keep the reservation. Thevehicle then continues moving toward the user. The same strategy appliesto a user walking to a vehicle. For instance, a user may stop walking toa target vehicle and wave at a direction away from the vehicle for acertain time period. After the vehicle detects the waving act, it maytreat it as a signal to cancel the reservation.

Lastly, a vehicle may be arranged to handle a hailing process with lessor no instructions from Service Center depending on prearrangements. Forinstance, after a vehicle detects that a user is waving at it, thevehicle may calculate a route and set forth a short journey to drive tothe user. During the hailing steps, Service Center is not involved. Themethod may be favored by small ride-hailing companies. In other cases, avehicle may maintain contact with Service Center and communicate to thecenter constantly. However, the vehicle may not need approval from thecenter during a hailing process. Service Center may work as an infosource and play a messenger role between the vehicle and a user.

Therefore the scope of the invention should be determined by theappended claims and their legal equivalents, rather than by the examplesgiven.

The invention claimed is:
 1. A method for a vehicle or device forassisting a service, comprising: 1) detecting an act or gesture of auser using one or more sensors; 2) determining whether the user waves orgestures and whether the user faces the vehicle or device; 3) afterdetermining that the user waves or gestures and the user faces thevehicle or device, calculating a route and navigating the vehicle ordevice to the user along the route; 4) receiving a parcel from the user;and 5) performing a shipping procedure.
 2. The method according to claim1 wherein navigating the vehicle or device to the user along the routeincludes navigating the vehicle or device to the user along the routeafter the one or more sensors detect that the user does not move towardthe vehicle or device.
 3. The method according to claim 1, furtherincluding stopping navigating the vehicle or device to the user andwaiting for the user after the one or more sensors detect that the usermoves toward the vehicle or device.
 4. The method according to claim 1,further including receiving a shipping request from the user afternavigating the vehicle or device to the user.
 5. The method according toclaim 1, further including presenting a sign that shows the vehicle ordevice accepts a package or provides shipping service.
 6. The methodaccording to claim 1 wherein the gesture includes a waving act, apointing act, or a nodding act.
 7. The method according to claim 1,further including searching for the user after receiving informationfrom a service facility and before detecting the act or gesture of theuser.
 8. A method for a vehicle or device for assisting a service,comprising: 1) driving to a location after receiving information about auser from a service facility and presenting a sign that is mounted on anexterior of the vehicle and shows the vehicle or device accepts apackage and provides a shipping service; 2) searching for the user usingone or more sensors when approaching the location; 3) stopping thevehicle or device beside the user; 4) receiving a parcel from the userat the vehicle or device; and 5) performing a shipping procedure for theuser, the shipping procedure including printing out a label for shippingthe parcel using a printer installed at the vehicle or device.
 9. Themethod according to claim 8 wherein the location includes a roadsidespot or a spot for the vehicle or device to stay temporarily.
 10. Themethod according to claim 8, further including identifying the userusing a facial recognition method, a fingerprint method, a password, acode, a QR code, an identification provided by a phone, or anidentification card.
 11. The method according to claim 8, furtherincluding determining whether the user waves or gestures and whether theuser faces the vehicle or device when the vehicle or device approachesthe location.
 12. The method according to claim 8, further includingpicking up the user at the location and navigating the vehicle to adestination.
 13. The method according to claim 8 wherein the shippingprocedure further includes measuring a weight of the parcel and/or adimension of the parcel.
 14. The method according to claim 8, furtherincluding receiving a command from the user and carrying the user for aride to a destination according to the command.
 15. A method forproviding a service for a ride and shipping a parcel, comprising: 1)obtaining information of a destination from a user or a service facilityat a vehicle; 2) obtaining a route for the ride for the user to go tothe destination using a processor; 3) navigating the vehicle to providethe ride for the user to go to the destination along the route; 4)receiving a parcel from the user during the ride to the destination; 5)obtaining an address where the parcel is shipped to; and 6) performing ashipping procedure at the vehicle for the user during the ride, theshipping procedure including printing out a label for shipping theparcel using a printer installed at the vehicle.
 16. The methodaccording to claim 15 wherein the shipping procedure further includesmeasuring a weight of the parcel and/or a dimension of the parcel. 17.The method according to claim 15, further including identifying the userusing a facial recognition method, a fingerprint method, a password, acode, a QR code, an identification provided by a phone, or anidentification card.
 18. The method according to claim 15, furtherincluding driving to a location to pick up the user after receivinginformation about the user from the service facility.
 19. The methodaccording to claim 15, further including presenting a sign that showsthe vehicle accepts a package or provides shipping service.
 20. Themethod according to claim 15 wherein the vehicle includes one or moredevices that scan the parcel, measure a weight of the parcel, and/ormeasure a dimension of the parcel.